[INFO] fetching crate lopdf_bugfix_19072017 0.9.0...
[INFO] checking lopdf_bugfix_19072017-0.9.0 against master#158f00a1c5175648af6f6099b075f78d1d014a28 for pr-121251
[INFO] extracting crate lopdf_bugfix_19072017 0.9.0 into /workspace/builds/worker-0-tc1/source
[INFO] validating manifest of crates.io crate lopdf_bugfix_19072017 0.9.0 on toolchain 158f00a1c5175648af6f6099b075f78d1d014a28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate lopdf_bugfix_19072017 0.9.0
[INFO] finished tweaking crates.io crate lopdf_bugfix_19072017 0.9.0
[INFO] tweaked toml for crates.io crate lopdf_bugfix_19072017 0.9.0 written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded chrono v0.3.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 521b9137a710c1c4cd358a1a0c9c77416d353fb82969e3074908c4a186bcb0ee
[INFO] running `Command { std: "docker" "start" "-a" "521b9137a710c1c4cd358a1a0c9c77416d353fb82969e3074908c4a186bcb0ee", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "521b9137a710c1c4cd358a1a0c9c77416d353fb82969e3074908c4a186bcb0ee", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "521b9137a710c1c4cd358a1a0c9c77416d353fb82969e3074908c4a186bcb0ee", kill_on_drop: false }`
[INFO] [stdout] 521b9137a710c1c4cd358a1a0c9c77416d353fb82969e3074908c4a186bcb0ee
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f9b70daa7eb26ef96f2525d64f4134a4056acedcfd3ca4a9fca0c5858657cb95
[INFO] running `Command { std: "docker" "start" "-a" "f9b70daa7eb26ef96f2525d64f4134a4056acedcfd3ca4a9fca0c5858657cb95", kill_on_drop: false }`
[INFO] [stderr]     Checking linked-hash-map v0.3.0
[INFO] [stderr]    Compiling miniz-sys v0.1.12
[INFO] [stderr]     Checking time v0.1.45
[INFO] [stderr]     Checking chrono v0.3.0
[INFO] [stderr]     Checking flate2 v0.2.20
[INFO] [stderr]     Checking lopdf_bugfix_19072017 v0.9.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]    --> src/filters/png.rs:122:42
[INFO] [stdout]     |
[INFO] [stdout] 122 |                 current[i] = current[i].wrapping_sub((current[i - bpp].wrapping_add(previous[i]) / 2));
[INFO] [stdout]     |                                                      ^                                              ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 122 -                 current[i] = current[i].wrapping_sub((current[i - bpp].wrapping_add(previous[i]) / 2));
[INFO] [stdout] 122 +                 current[i] = current[i].wrapping_sub(current[i - bpp].wrapping_add(previous[i]) / 2);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]    --> src/filters/png.rs:122:42
[INFO] [stdout]     |
[INFO] [stdout] 122 |                 current[i] = current[i].wrapping_sub((current[i - bpp].wrapping_add(previous[i]) / 2));
[INFO] [stdout]     |                                                      ^                                              ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 122 -                 current[i] = current[i].wrapping_sub((current[i - bpp].wrapping_add(previous[i]) / 2));
[INFO] [stdout] 122 +                 current[i] = current[i].wrapping_sub(current[i - bpp].wrapping_add(previous[i]) / 2);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reader.rs:139:47
[INFO] [stdout]     |
[INFO] [stdout] 139 |     fn get_xref_start(buffer: &[u8], input: &mut Input<u8>) -> Result<usize> {
[INFO] [stdout]     |                                                  ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 139 |     fn get_xref_start(buffer: &[u8], input: &mut dyn Input<u8>) -> Result<usize> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reader.rs:139:47
[INFO] [stdout]     |
[INFO] [stdout] 139 |     fn get_xref_start(buffer: &[u8], input: &mut Input<u8>) -> Result<usize> {
[INFO] [stdout]     |                                                  ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 139 |     fn get_xref_start(buffer: &[u8], input: &mut dyn Input<u8>) -> Result<usize> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/writer.rs:49:41
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn write_trailer(&mut self, file: &mut Write) -> Result<()> {
[INFO] [stdout]    |                                            ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn write_trailer(&mut self, file: &mut dyn Write) -> Result<()> {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/writer.rs:49:41
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn write_trailer(&mut self, file: &mut Write) -> Result<()> {
[INFO] [stdout]    |                                            ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn write_trailer(&mut self, file: &mut dyn Write) -> Result<()> {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/writer.rs:84:27
[INFO] [stdout]    |
[INFO] [stdout] 84 |     fn write_xref(file: &mut Write, xref: &Xref) -> Result<()> {
[INFO] [stdout]    |                              ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 84 |     fn write_xref(file: &mut dyn Write, xref: &Xref) -> Result<()> {
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/writer.rs:84:27
[INFO] [stdout]    |
[INFO] [stdout] 84 |     fn write_xref(file: &mut Write, xref: &Xref) -> Result<()> {
[INFO] [stdout]    |                              ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 84 |     fn write_xref(file: &mut dyn Write, xref: &Xref) -> Result<()> {
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/writer.rs:119:37
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub fn write_object<'a>(file: &mut Write, object: &'a Object) -> Result<()> {
[INFO] [stdout]     |                                        ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub fn write_object<'a>(file: &mut dyn Write, object: &'a Object) -> Result<()> {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/writer.rs:134:31
[INFO] [stdout]     |
[INFO] [stdout] 134 |     fn write_name<'a>(file: &mut Write, name: &'a [u8]) -> Result<()> {
[INFO] [stdout]     |                                  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 134 |     fn write_name<'a>(file: &mut dyn Write, name: &'a [u8]) -> Result<()> {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/writer.rs:119:37
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub fn write_object<'a>(file: &mut Write, object: &'a Object) -> Result<()> {
[INFO] [stdout]     |                                        ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub fn write_object<'a>(file: &mut dyn Write, object: &'a Object) -> Result<()> {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/writer.rs:134:31
[INFO] [stdout]     |
[INFO] [stdout] 134 |     fn write_name<'a>(file: &mut Write, name: &'a [u8]) -> Result<()> {
[INFO] [stdout]     |                                  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 134 |     fn write_name<'a>(file: &mut dyn Write, name: &'a [u8]) -> Result<()> {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/writer.rs:147:33
[INFO] [stdout]     |
[INFO] [stdout] 147 |     fn write_string<'a>(file: &mut Write, text: &'a [u8], format: &'a StringFormat) -> Result<()> {
[INFO] [stdout]     |                                    ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 147 |     fn write_string<'a>(file: &mut dyn Write, text: &'a [u8], format: &'a StringFormat) -> Result<()> {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/writer.rs:147:33
[INFO] [stdout]     |
[INFO] [stdout] 147 |     fn write_string<'a>(file: &mut Write, text: &'a [u8], format: &'a StringFormat) -> Result<()> {
[INFO] [stdout]     |                                    ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 147 |     fn write_string<'a>(file: &mut dyn Write, text: &'a [u8], format: &'a StringFormat) -> Result<()> {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/writer.rs:199:32
[INFO] [stdout]     |
[INFO] [stdout] 199 |     fn write_array<'a>(file: &mut Write, array: &'a Vec<Object>) -> Result<()> {
[INFO] [stdout]     |                                   ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 199 |     fn write_array<'a>(file: &mut dyn Write, array: &'a Vec<Object>) -> Result<()> {
[INFO] [stdout]     |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/writer.rs:199:32
[INFO] [stdout]     |
[INFO] [stdout] 199 |     fn write_array<'a>(file: &mut Write, array: &'a Vec<Object>) -> Result<()> {
[INFO] [stdout]     |                                   ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 199 |     fn write_array<'a>(file: &mut dyn Write, array: &'a Vec<Object>) -> Result<()> {
[INFO] [stdout]     |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/writer.rs:214:37
[INFO] [stdout]     |
[INFO] [stdout] 214 |     fn write_dictionary<'a>(file: &mut Write, dictionary: &'a Dictionary) -> Result<()> {
[INFO] [stdout]     |                                        ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 214 |     fn write_dictionary<'a>(file: &mut dyn Write, dictionary: &'a Dictionary) -> Result<()> {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/writer.rs:214:37
[INFO] [stdout]     |
[INFO] [stdout] 214 |     fn write_dictionary<'a>(file: &mut Write, dictionary: &'a Dictionary) -> Result<()> {
[INFO] [stdout]     |                                        ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 214 |     fn write_dictionary<'a>(file: &mut dyn Write, dictionary: &'a Dictionary) -> Result<()> {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/writer.rs:227:33
[INFO] [stdout]     |
[INFO] [stdout] 227 |     fn write_stream<'a>(file: &mut Write, stream: &'a Stream) -> Result<()> {
[INFO] [stdout]     |                                    ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 227 |     fn write_stream<'a>(file: &mut dyn Write, stream: &'a Stream) -> Result<()> {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/writer.rs:227:33
[INFO] [stdout]     |
[INFO] [stdout] 227 |     fn write_stream<'a>(file: &mut Write, stream: &'a Stream) -> Result<()> {
[INFO] [stdout]     |                                    ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 227 |     fn write_stream<'a>(file: &mut dyn Write, stream: &'a Stream) -> Result<()> {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 10 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0463]: can't find crate for `lopdf`
[INFO] [stdout]  --> tests/modify.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | extern crate lopdf;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^ can't find crate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `self::Object`
[INFO] [stdout]   --> tests/modify.rs:36:6
[INFO] [stdout]    |
[INFO] [stdout] 36 |     use self::Object;
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 10 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0463]: can't find crate for `lopdf`
[INFO] [stdout]  --> benches/datetime.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | extern crate lopdf;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^ can't find crate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0463.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0463`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `lopdf_bugfix_19072017` (test "modify") due to 3 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `lopdf_bugfix_19072017` (bench "datetime") due to 2 previous errors
[INFO] running `Command { std: "docker" "inspect" "f9b70daa7eb26ef96f2525d64f4134a4056acedcfd3ca4a9fca0c5858657cb95", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f9b70daa7eb26ef96f2525d64f4134a4056acedcfd3ca4a9fca0c5858657cb95", kill_on_drop: false }`
[INFO] [stdout] f9b70daa7eb26ef96f2525d64f4134a4056acedcfd3ca4a9fca0c5858657cb95
[INFO] checking lopdf_bugfix_19072017-0.9.0 against try#b4fc5dbf0bc33be331f9d893db5b3a794f29724a+rustflags=-Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds for pr-121251
[INFO] extracting crate lopdf_bugfix_19072017 0.9.0 into /workspace/builds/worker-0-tc2/source
[INFO] validating manifest of crates.io crate lopdf_bugfix_19072017 0.9.0 on toolchain b4fc5dbf0bc33be331f9d893db5b3a794f29724a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate lopdf_bugfix_19072017 0.9.0
[INFO] finished tweaking crates.io crate lopdf_bugfix_19072017 0.9.0
[INFO] tweaked toml for crates.io crate lopdf_bugfix_19072017 0.9.0 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] dfb1b4ee4b60db763363d26316e6a8308e64bb4f93f0dede39dba5de90cc34d8
[INFO] running `Command { std: "docker" "start" "-a" "dfb1b4ee4b60db763363d26316e6a8308e64bb4f93f0dede39dba5de90cc34d8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "dfb1b4ee4b60db763363d26316e6a8308e64bb4f93f0dede39dba5de90cc34d8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dfb1b4ee4b60db763363d26316e6a8308e64bb4f93f0dede39dba5de90cc34d8", kill_on_drop: false }`
[INFO] [stdout] dfb1b4ee4b60db763363d26316e6a8308e64bb4f93f0dede39dba5de90cc34d8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ea56f7db702a894946ba5e60f3f598f2d91c0ded8d1dca51f4598cd3afbc7c1a
[INFO] running `Command { std: "docker" "start" "-a" "ea56f7db702a894946ba5e60f3f598f2d91c0ded8d1dca51f4598cd3afbc7c1a", kill_on_drop: false }`
[INFO] [stderr]     Checking linked-hash-map v0.3.0
[INFO] [stderr]    Compiling miniz-sys v0.1.12
[INFO] [stderr]     Checking time v0.1.45
[INFO] [stderr]     Checking chrono v0.3.0
[INFO] [stderr]     Checking flate2 v0.2.20
[INFO] [stderr]     Checking lopdf_bugfix_19072017 v0.9.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/xref.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 79 |         for i in 0..section_indice.len() / 2 {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/xref.rs:83:13
[INFO] [stdout]    |
[INFO] [stdout] 83 |             for j in 0..count {
[INFO] [stdout]    |                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/filters/png.rs:52:13
[INFO] [stdout]    |
[INFO] [stdout] 52 |             for i in bpp..len {
[INFO] [stdout]    |                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/filters/png.rs:57:13
[INFO] [stdout]    |
[INFO] [stdout] 57 |             for i in 0..len {
[INFO] [stdout]    |                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/filters/png.rs:62:13
[INFO] [stdout]    |
[INFO] [stdout] 62 |             for i in 0..bpp {
[INFO] [stdout]    |                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/filters/png.rs:66:13
[INFO] [stdout]    |
[INFO] [stdout] 66 |             for i in bpp..len {
[INFO] [stdout]    |                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/filters/png.rs:71:13
[INFO] [stdout]    |
[INFO] [stdout] 71 |             for i in 0..bpp {
[INFO] [stdout]    |                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/filters/png.rs:75:13
[INFO] [stdout]    |
[INFO] [stdout] 75 |             for i in bpp..len {
[INFO] [stdout]    |                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/filters/png.rs:91:14
[INFO] [stdout]    |
[INFO] [stdout] 91 |             (&content[pos..]).read_exact(current.as_mut_slice())?;
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/filters/png.rs:111:14
[INFO] [stdout]     |
[INFO] [stdout] 111 |             for i in (bpp..len).rev() {
[INFO] [stdout]     |                       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/filters/png.rs:116:13
[INFO] [stdout]     |
[INFO] [stdout] 116 |             for i in 0..len {
[INFO] [stdout]     |                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/filters/png.rs:121:14
[INFO] [stdout]     |
[INFO] [stdout] 121 |             for i in (bpp..len).rev() {
[INFO] [stdout]     |                       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]    --> src/filters/png.rs:122:42
[INFO] [stdout]     |
[INFO] [stdout] 122 |                 current[i] = current[i].wrapping_sub((current[i - bpp].wrapping_add(previous[i]) / 2));
[INFO] [stdout]     |                                                      ^                                              ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 122 -                 current[i] = current[i].wrapping_sub((current[i - bpp].wrapping_add(previous[i]) / 2));
[INFO] [stdout] 122 +                 current[i] = current[i].wrapping_sub(current[i - bpp].wrapping_add(previous[i]) / 2);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/filters/png.rs:125:13
[INFO] [stdout]     |
[INFO] [stdout] 125 |             for i in 0..bpp {
[INFO] [stdout]     |                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/filters/png.rs:130:14
[INFO] [stdout]     |
[INFO] [stdout] 130 |             for i in (bpp..len).rev() {
[INFO] [stdout]     |                       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/filters/png.rs:134:13
[INFO] [stdout]     |
[INFO] [stdout] 134 |             for i in 0..bpp {
[INFO] [stdout]     |                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/parser.rs:15:38
[INFO] [stdout]    |
[INFO] [stdout] 15 |     sym(b'%') * none_of(b"\r\n").repeat(0..) * eol().discard()
[INFO] [stdout]    |                                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/parser.rs:19:36
[INFO] [stdout]    |
[INFO] [stdout] 19 |     ( one_of(b" \t\n\r\0\x0C").repeat(1..).discard()
[INFO] [stdout]    |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/parser.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 |     ).repeat(0..).discard()
[INFO] [stdout]    |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/parser.rs:25:66
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let number = one_of(b"+-").opt() + one_of(b"0123456789").repeat(1..);
[INFO] [stdout]    |                                                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/parser.rs:31:34
[INFO] [stdout]    |
[INFO] [stdout] 31 |         ( one_of(b"0123456789").repeat(1..) * sym(b'.') - one_of(b"0123456789").repeat(0..)
[INFO] [stdout]    |                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/parser.rs:31:82
[INFO] [stdout]    |
[INFO] [stdout] 31 |         ( one_of(b"0123456789").repeat(1..) * sym(b'.') - one_of(b"0123456789").repeat(0..)
[INFO] [stdout]    |                                                                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/parser.rs:32:46
[INFO] [stdout]    |
[INFO] [stdout] 32 |         | sym(b'.') - one_of(b"0123456789").repeat(1..)
[INFO] [stdout]    |                                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser.rs:43:38
[INFO] [stdout]    |
[INFO] [stdout] 43 |     let number = is_a(oct_digit).repeat(1..4);
[INFO] [stdout]    |                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/parser.rs:48:83
[INFO] [stdout]    |
[INFO] [stdout] 48 |     sym(b'/') * (none_of(b" \t\n\r\x0C()<>[]{}/%#") | sym(b'#') * hex_char()).repeat(0..)
[INFO] [stdout]    |                                                                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/parser.rs:69:28
[INFO] [stdout]    |
[INFO] [stdout] 69 |     ( none_of(b"\\()").repeat(1..)
[INFO] [stdout]    |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/parser.rs:72:11
[INFO] [stdout]    |
[INFO] [stdout] 72 |     ).repeat(0..).map(|segments| {
[INFO] [stdout]    |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/parser.rs:87:28
[INFO] [stdout]    |
[INFO] [stdout] 87 |     ( none_of(b"\\()").repeat(1..)
[INFO] [stdout]    |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/parser.rs:90:11
[INFO] [stdout]    |
[INFO] [stdout] 90 |     ).repeat(0..).map(|segments|segments.concat())
[INFO] [stdout]    |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/parser.rs:95:32
[INFO] [stdout]    |
[INFO] [stdout] 95 |     sym(b'<') * hex_char().repeat(0..) - sym(b'>')
[INFO] [stdout]    |                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/parser.rs:99:51
[INFO] [stdout]    |
[INFO] [stdout] 99 |     sym(b'[') * space() * call(direct_object).repeat(0..) - sym(b']')
[INFO] [stdout]    |                                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/parser.rs:104:52
[INFO] [stdout]     |
[INFO] [stdout] 104 |     let entries = seq(b"<<") * space() * entry.repeat(0..) - seq(b">>");
[INFO] [stdout]     |                                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/parser.rs:126:40
[INFO] [stdout]     |
[INFO] [stdout] 126 |     let id = one_of(b"0123456789").repeat(1..).convert(|v|u32::from_str(&String::from_utf8(v).unwrap()));
[INFO] [stdout]     |                                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/parser.rs:127:41
[INFO] [stdout]     |
[INFO] [stdout] 127 |     let gen = one_of(b"0123456789").repeat(1..).convert(|v|u16::from_str(&String::from_utf8(v).unwrap()));
[INFO] [stdout]     |                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/parser.rs:167:42
[INFO] [stdout]     |
[INFO] [stdout] 167 |     seq(b"%PDF-") * none_of(b"\r\n").repeat(0..).convert(|v|String::from_utf8(v)) - eol() - comment().repeat(0..)
[INFO] [stdout]     |                                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/parser.rs:167:107
[INFO] [stdout]     |
[INFO] [stdout] 167 |     seq(b"%PDF-") * none_of(b"\r\n").repeat(0..).convert(|v|String::from_utf8(v)) - eol() - comment().repeat(0..)
[INFO] [stdout]     |                                                                                                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/parser.rs:172:102
[INFO] [stdout]     |
[INFO] [stdout] 172 |     let xref_section = integer().map(|i|i as usize) - sym(b' ') + integer() - eol() + xref_entry.repeat(1..);
[INFO] [stdout]     |                                                                                                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/parser.rs:173:56
[INFO] [stdout]     |
[INFO] [stdout] 173 |     let xref = seq(b"xref") * eol() * xref_section.repeat(1..) - space();
[INFO] [stdout]     |                                                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/parser.rs:213:26
[INFO] [stdout]     |
[INFO] [stdout] 213 |     is_a(multispace).repeat(0..).discard()
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/parser.rs:217:41
[INFO] [stdout]     |
[INFO] [stdout] 217 |     (is_a(alpha) | one_of(b"*'\"")).repeat(1..).convert(|v|String::from_utf8(v))
[INFO] [stdout]     |                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/parser.rs:235:35
[INFO] [stdout]     |
[INFO] [stdout] 235 |     let operation = operand().repeat(0..) + operator() - content_space();
[INFO] [stdout]     |                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/parser.rs:245:39
[INFO] [stdout]     |
[INFO] [stdout] 245 |     content_space() * operation().repeat(0..).map(|operations| Content{operations: operations})
[INFO] [stdout]     |                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/xref.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 79 |         for i in 0..section_indice.len() / 2 {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/xref.rs:83:13
[INFO] [stdout]    |
[INFO] [stdout] 83 |             for j in 0..count {
[INFO] [stdout]    |                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/filters/png.rs:52:13
[INFO] [stdout]    |
[INFO] [stdout] 52 |             for i in bpp..len {
[INFO] [stdout]    |                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/filters/png.rs:57:13
[INFO] [stdout]    |
[INFO] [stdout] 57 |             for i in 0..len {
[INFO] [stdout]    |                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/filters/png.rs:62:13
[INFO] [stdout]    |
[INFO] [stdout] 62 |             for i in 0..bpp {
[INFO] [stdout]    |                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/filters/png.rs:66:13
[INFO] [stdout]    |
[INFO] [stdout] 66 |             for i in bpp..len {
[INFO] [stdout]    |                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/filters/png.rs:71:13
[INFO] [stdout]    |
[INFO] [stdout] 71 |             for i in 0..bpp {
[INFO] [stdout]    |                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/filters/png.rs:75:13
[INFO] [stdout]    |
[INFO] [stdout] 75 |             for i in bpp..len {
[INFO] [stdout]    |                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/filters/png.rs:91:14
[INFO] [stdout]    |
[INFO] [stdout] 91 |             (&content[pos..]).read_exact(current.as_mut_slice())?;
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/filters/png.rs:111:14
[INFO] [stdout]     |
[INFO] [stdout] 111 |             for i in (bpp..len).rev() {
[INFO] [stdout]     |                       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/filters/png.rs:116:13
[INFO] [stdout]     |
[INFO] [stdout] 116 |             for i in 0..len {
[INFO] [stdout]     |                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/filters/png.rs:121:14
[INFO] [stdout]     |
[INFO] [stdout] 121 |             for i in (bpp..len).rev() {
[INFO] [stdout]     |                       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]    --> src/filters/png.rs:122:42
[INFO] [stdout]     |
[INFO] [stdout] 122 |                 current[i] = current[i].wrapping_sub((current[i - bpp].wrapping_add(previous[i]) / 2));
[INFO] [stdout]     |                                                      ^                                              ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 122 -                 current[i] = current[i].wrapping_sub((current[i - bpp].wrapping_add(previous[i]) / 2));
[INFO] [stdout] 122 +                 current[i] = current[i].wrapping_sub(current[i - bpp].wrapping_add(previous[i]) / 2);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/filters/png.rs:125:13
[INFO] [stdout]     |
[INFO] [stdout] 125 |             for i in 0..bpp {
[INFO] [stdout]     |                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/filters/png.rs:130:14
[INFO] [stdout]     |
[INFO] [stdout] 130 |             for i in (bpp..len).rev() {
[INFO] [stdout]     |                       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/filters/png.rs:134:13
[INFO] [stdout]     |
[INFO] [stdout] 134 |             for i in 0..bpp {
[INFO] [stdout]     |                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/parser.rs:15:38
[INFO] [stdout]    |
[INFO] [stdout] 15 |     sym(b'%') * none_of(b"\r\n").repeat(0..) * eol().discard()
[INFO] [stdout]    |                                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/parser.rs:19:36
[INFO] [stdout]    |
[INFO] [stdout] 19 |     ( one_of(b" \t\n\r\0\x0C").repeat(1..).discard()
[INFO] [stdout]    |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/parser.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 |     ).repeat(0..).discard()
[INFO] [stdout]    |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/parser.rs:25:66
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let number = one_of(b"+-").opt() + one_of(b"0123456789").repeat(1..);
[INFO] [stdout]    |                                                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/parser.rs:31:34
[INFO] [stdout]    |
[INFO] [stdout] 31 |         ( one_of(b"0123456789").repeat(1..) * sym(b'.') - one_of(b"0123456789").repeat(0..)
[INFO] [stdout]    |                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/parser.rs:31:82
[INFO] [stdout]    |
[INFO] [stdout] 31 |         ( one_of(b"0123456789").repeat(1..) * sym(b'.') - one_of(b"0123456789").repeat(0..)
[INFO] [stdout]    |                                                                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/parser.rs:32:46
[INFO] [stdout]    |
[INFO] [stdout] 32 |         | sym(b'.') - one_of(b"0123456789").repeat(1..)
[INFO] [stdout]    |                                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/parser.rs:43:38
[INFO] [stdout]    |
[INFO] [stdout] 43 |     let number = is_a(oct_digit).repeat(1..4);
[INFO] [stdout]    |                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/parser.rs:48:83
[INFO] [stdout]    |
[INFO] [stdout] 48 |     sym(b'/') * (none_of(b" \t\n\r\x0C()<>[]{}/%#") | sym(b'#') * hex_char()).repeat(0..)
[INFO] [stdout]    |                                                                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/parser.rs:69:28
[INFO] [stdout]    |
[INFO] [stdout] 69 |     ( none_of(b"\\()").repeat(1..)
[INFO] [stdout]    |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/parser.rs:72:11
[INFO] [stdout]    |
[INFO] [stdout] 72 |     ).repeat(0..).map(|segments| {
[INFO] [stdout]    |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/parser.rs:87:28
[INFO] [stdout]    |
[INFO] [stdout] 87 |     ( none_of(b"\\()").repeat(1..)
[INFO] [stdout]    |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/parser.rs:90:11
[INFO] [stdout]    |
[INFO] [stdout] 90 |     ).repeat(0..).map(|segments|segments.concat())
[INFO] [stdout]    |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/parser.rs:95:32
[INFO] [stdout]    |
[INFO] [stdout] 95 |     sym(b'<') * hex_char().repeat(0..) - sym(b'>')
[INFO] [stdout]    |                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/parser.rs:99:51
[INFO] [stdout]    |
[INFO] [stdout] 99 |     sym(b'[') * space() * call(direct_object).repeat(0..) - sym(b']')
[INFO] [stdout]    |                                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/parser.rs:104:52
[INFO] [stdout]     |
[INFO] [stdout] 104 |     let entries = seq(b"<<") * space() * entry.repeat(0..) - seq(b">>");
[INFO] [stdout]     |                                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/parser.rs:126:40
[INFO] [stdout]     |
[INFO] [stdout] 126 |     let id = one_of(b"0123456789").repeat(1..).convert(|v|u32::from_str(&String::from_utf8(v).unwrap()));
[INFO] [stdout]     |                                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/parser.rs:127:41
[INFO] [stdout]     |
[INFO] [stdout] 127 |     let gen = one_of(b"0123456789").repeat(1..).convert(|v|u16::from_str(&String::from_utf8(v).unwrap()));
[INFO] [stdout]     |                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/parser.rs:167:42
[INFO] [stdout]     |
[INFO] [stdout] 167 |     seq(b"%PDF-") * none_of(b"\r\n").repeat(0..).convert(|v|String::from_utf8(v)) - eol() - comment().repeat(0..)
[INFO] [stdout]     |                                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/parser.rs:167:107
[INFO] [stdout]     |
[INFO] [stdout] 167 |     seq(b"%PDF-") * none_of(b"\r\n").repeat(0..).convert(|v|String::from_utf8(v)) - eol() - comment().repeat(0..)
[INFO] [stdout]     |                                                                                                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/parser.rs:172:102
[INFO] [stdout]     |
[INFO] [stdout] 172 |     let xref_section = integer().map(|i|i as usize) - sym(b' ') + integer() - eol() + xref_entry.repeat(1..);
[INFO] [stdout]     |                                                                                                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/parser.rs:173:56
[INFO] [stdout]     |
[INFO] [stdout] 173 |     let xref = seq(b"xref") * eol() * xref_section.repeat(1..) - space();
[INFO] [stdout]     |                                                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/parser.rs:213:26
[INFO] [stdout]     |
[INFO] [stdout] 213 |     is_a(multispace).repeat(0..).discard()
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/parser.rs:217:41
[INFO] [stdout]     |
[INFO] [stdout] 217 |     (is_a(alpha) | one_of(b"*'\"")).repeat(1..).convert(|v|String::from_utf8(v))
[INFO] [stdout]     |                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/parser.rs:235:35
[INFO] [stdout]     |
[INFO] [stdout] 235 |     let operation = operand().repeat(0..) + operator() - content_space();
[INFO] [stdout]     |                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/parser.rs:245:39
[INFO] [stdout]     |
[INFO] [stdout] 245 |     content_space() * operation().repeat(0..).map(|operations| Content{operations: operations})
[INFO] [stdout]     |                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reader.rs:139:47
[INFO] [stdout]     |
[INFO] [stdout] 139 |     fn get_xref_start(buffer: &[u8], input: &mut Input<u8>) -> Result<usize> {
[INFO] [stdout]     |                                                  ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 139 |     fn get_xref_start(buffer: &[u8], input: &mut dyn Input<u8>) -> Result<usize> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/writer.rs:49:41
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn write_trailer(&mut self, file: &mut Write) -> Result<()> {
[INFO] [stdout]    |                                            ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn write_trailer(&mut self, file: &mut dyn Write) -> Result<()> {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/writer.rs:84:27
[INFO] [stdout]    |
[INFO] [stdout] 84 |     fn write_xref(file: &mut Write, xref: &Xref) -> Result<()> {
[INFO] [stdout]    |                              ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 84 |     fn write_xref(file: &mut dyn Write, xref: &Xref) -> Result<()> {
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/writer.rs:119:37
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub fn write_object<'a>(file: &mut Write, object: &'a Object) -> Result<()> {
[INFO] [stdout]     |                                        ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub fn write_object<'a>(file: &mut dyn Write, object: &'a Object) -> Result<()> {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/writer.rs:134:31
[INFO] [stdout]     |
[INFO] [stdout] 134 |     fn write_name<'a>(file: &mut Write, name: &'a [u8]) -> Result<()> {
[INFO] [stdout]     |                                  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 134 |     fn write_name<'a>(file: &mut dyn Write, name: &'a [u8]) -> Result<()> {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/writer.rs:147:33
[INFO] [stdout]     |
[INFO] [stdout] 147 |     fn write_string<'a>(file: &mut Write, text: &'a [u8], format: &'a StringFormat) -> Result<()> {
[INFO] [stdout]     |                                    ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 147 |     fn write_string<'a>(file: &mut dyn Write, text: &'a [u8], format: &'a StringFormat) -> Result<()> {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/writer.rs:199:32
[INFO] [stdout]     |
[INFO] [stdout] 199 |     fn write_array<'a>(file: &mut Write, array: &'a Vec<Object>) -> Result<()> {
[INFO] [stdout]     |                                   ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 199 |     fn write_array<'a>(file: &mut dyn Write, array: &'a Vec<Object>) -> Result<()> {
[INFO] [stdout]     |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/writer.rs:214:37
[INFO] [stdout]     |
[INFO] [stdout] 214 |     fn write_dictionary<'a>(file: &mut Write, dictionary: &'a Dictionary) -> Result<()> {
[INFO] [stdout]     |                                        ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 214 |     fn write_dictionary<'a>(file: &mut dyn Write, dictionary: &'a Dictionary) -> Result<()> {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/writer.rs:227:33
[INFO] [stdout]     |
[INFO] [stdout] 227 |     fn write_stream<'a>(file: &mut Write, stream: &'a Stream) -> Result<()> {
[INFO] [stdout]     |                                    ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 227 |     fn write_stream<'a>(file: &mut dyn Write, stream: &'a Stream) -> Result<()> {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/reader.rs:139:47
[INFO] [stdout]     |
[INFO] [stdout] 139 |     fn get_xref_start(buffer: &[u8], input: &mut Input<u8>) -> Result<usize> {
[INFO] [stdout]     |                                                  ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 139 |     fn get_xref_start(buffer: &[u8], input: &mut dyn Input<u8>) -> Result<usize> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/writer.rs:49:41
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn write_trailer(&mut self, file: &mut Write) -> Result<()> {
[INFO] [stdout]    |                                            ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn write_trailer(&mut self, file: &mut dyn Write) -> Result<()> {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/writer.rs:84:27
[INFO] [stdout]    |
[INFO] [stdout] 84 |     fn write_xref(file: &mut Write, xref: &Xref) -> Result<()> {
[INFO] [stdout]    |                              ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 84 |     fn write_xref(file: &mut dyn Write, xref: &Xref) -> Result<()> {
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/writer.rs:119:37
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub fn write_object<'a>(file: &mut Write, object: &'a Object) -> Result<()> {
[INFO] [stdout]     |                                        ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub fn write_object<'a>(file: &mut dyn Write, object: &'a Object) -> Result<()> {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/writer.rs:134:31
[INFO] [stdout]     |
[INFO] [stdout] 134 |     fn write_name<'a>(file: &mut Write, name: &'a [u8]) -> Result<()> {
[INFO] [stdout]     |                                  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 134 |     fn write_name<'a>(file: &mut dyn Write, name: &'a [u8]) -> Result<()> {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/writer.rs:147:33
[INFO] [stdout]     |
[INFO] [stdout] 147 |     fn write_string<'a>(file: &mut Write, text: &'a [u8], format: &'a StringFormat) -> Result<()> {
[INFO] [stdout]     |                                    ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 147 |     fn write_string<'a>(file: &mut dyn Write, text: &'a [u8], format: &'a StringFormat) -> Result<()> {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/writer.rs:199:32
[INFO] [stdout]     |
[INFO] [stdout] 199 |     fn write_array<'a>(file: &mut Write, array: &'a Vec<Object>) -> Result<()> {
[INFO] [stdout]     |                                   ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 199 |     fn write_array<'a>(file: &mut dyn Write, array: &'a Vec<Object>) -> Result<()> {
[INFO] [stdout]     |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/writer.rs:214:37
[INFO] [stdout]     |
[INFO] [stdout] 214 |     fn write_dictionary<'a>(file: &mut Write, dictionary: &'a Dictionary) -> Result<()> {
[INFO] [stdout]     |                                        ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 214 |     fn write_dictionary<'a>(file: &mut dyn Write, dictionary: &'a Dictionary) -> Result<()> {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/writer.rs:227:33
[INFO] [stdout]     |
[INFO] [stdout] 227 |     fn write_stream<'a>(file: &mut Write, stream: &'a Stream) -> Result<()> {
[INFO] [stdout]     |                                    ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 227 |     fn write_stream<'a>(file: &mut dyn Write, stream: &'a Stream) -> Result<()> {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 51 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 51 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0463]: can't find crate for `lopdf`
[INFO] [stdout]  --> benches/datetime.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | extern crate lopdf;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^ can't find crate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0463]: can't find crate for `lopdf`
[INFO] [stdout]  --> tests/modify.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | extern crate lopdf;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^ can't find crate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `self::Object`
[INFO] [stdout]   --> tests/modify.rs:36:6
[INFO] [stdout]    |
[INFO] [stdout] 36 |     use self::Object;
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0463`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `lopdf_bugfix_19072017` (bench "datetime") due to 2 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0463.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `lopdf_bugfix_19072017` (test "modify") due to 3 previous errors
[INFO] running `Command { std: "docker" "inspect" "ea56f7db702a894946ba5e60f3f598f2d91c0ded8d1dca51f4598cd3afbc7c1a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ea56f7db702a894946ba5e60f3f598f2d91c0ded8d1dca51f4598cd3afbc7c1a", kill_on_drop: false }`
[INFO] [stdout] ea56f7db702a894946ba5e60f3f598f2d91c0ded8d1dca51f4598cd3afbc7c1a
